
package com.hlkj.pay.dto.home;

import com.baomidou.mybatisplus.annotation.TableName;
import com.hlkj.framework.mybatis.core.dataobject.BaseDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * 订单统计
 * 
 * @TableName t_statistics
 */
@Data
public class HomeStatisticsDto {

    /**
     * 支付订单笔数
     */
    @Schema(description = "支付订单笔数")
    private Integer dayOrderCount;

    public Integer getDayOrderCount() {
        return (dayOrderCount != null) ? dayOrderCount : 0;
    }

    /**
     * 支付订单金额
     */
    @Schema(description = "支付订单金额")
    private BigDecimal dayOrderAmount;

    public BigDecimal getDayOrderAmount() {
        return (dayOrderAmount != null) ? dayOrderAmount : BigDecimal.valueOf(0);
    }

    /**
     * 退款金额
     */
    @Schema(description = "退款金额")
    private BigDecimal refundAmount;

    public BigDecimal getRefundAmount() {
        return (refundAmount != null) ? refundAmount : BigDecimal.valueOf(0);
    }

    /**
     * 平台交易手续费
     */
    @Schema(description = "平台交易手续费")
    private BigDecimal feeAmount;

    public BigDecimal getFeeAmount() {
        return (feeAmount != null) ? feeAmount : BigDecimal.valueOf(0);
    }

    /**
     * 机构交易手续费
     */
    @Schema(description = "机构交易手续费")
    private BigDecimal channelFeeAmount;

    public BigDecimal getChannelFeeAmount() {
        return (channelFeeAmount != null) ? channelFeeAmount : BigDecimal.valueOf(0);
    }

    /**
     * 充值金额
     */
    @Schema(description = "充值金额")
    private BigDecimal chargeAmount;

    public BigDecimal getChargeAmount() {
        return (chargeAmount != null) ? chargeAmount : BigDecimal.valueOf(0);
    }

    /**
     * 订单成功率
     */
    @Schema(description = "订单成功率")
    private BigDecimal orderSuccessRate;

    public BigDecimal getOrderSuccessRate() {
        return (orderSuccessRate != null) ? orderSuccessRate : BigDecimal.valueOf(0);
    }

    /**
     * 微信投诉率
     */
    @Schema(description = "微信投诉率")
    private BigDecimal wxComplainRate;

    public BigDecimal getWxComplainRate() {
        return (wxComplainRate != null) ? wxComplainRate : BigDecimal.valueOf(0);
    }

    /**
     * 今日商户开户数
     */
    @Schema(description = "今日商户开户数")
    private Integer dayMerchants;

    public Integer getDayMerchants() {
        return (dayMerchants != null) ? dayMerchants : 0;
    }

    /**
     * 今日机构开户数
     */
    @Schema(description = "今日机构开户数")
    private Integer dayAgents;

    public Integer getDayAgents() {
        return (dayAgents != null) ? dayAgents : 0;
    }

    /**
     * 订单退款率
     */
    @Schema(description = "订单退款率")
    private BigDecimal orderRefundRate;

    public BigDecimal getOrderRefundRate() {
        return (orderRefundRate != null) ? orderRefundRate : BigDecimal.valueOf(0);
    }

}
